import { roomStatus } from '../../../constants/status'

Page({
  data: {
    dialogVisible: false,
    list: [],
    isFrist: true,
    roomStatus: roomStatus,
  },

  swipeClose(ev) {
    // console.log(ev.mark)
    // 保存非响应式数据，房屋 id
    this.id = ev.mark.id
    // position 是方向，用来区别用户点击了左插槽还是右插槽
    // instance 是当前点击的滑动项
    const { position, instance } = ev.detail

    if (position === 'right') {
      // 显示 Dialog 对话框
      this.setData({
        dialogVisible: true,
      })

      // swiper-cell 滑块关闭
      instance.close()
    }
  },
  // 关闭对话框时触发
  async dialogClose(e) {
    // 判断用户是否点击了确定
    if (e.detail === 'confirm') {
      // 发请求，后端删除数据
      await wx.http.delete(`/room/${this.id}`)
      // 前端界面更新，filter 过滤覆盖掉原数组
      this.setData({
        list: this.data.list.filter((v) => v.id !== this.id),
      })
    }
  },

  goDetail(e) {
    wx.navigateTo({
      url: `/house_pkg/pages/detail/index?id=${e.mark.id}`,
    })
  },

  addHouse() {
    if (this.data.list.length === 6) {
      return wx.utils.toast('已达到最大房屋数量6，请删除后添加')
    }
    wx.navigateTo({
      url: '/house_pkg/pages/locate/index',
    })
  },
  // 在其他页面实现添加，回来的列表页要显示(onShow)最新数据
  async onShow() {
    const res = await wx.http.get('/room')
    this.setData({
      list: res.data,
      isFrist: false,
    })
  },
})
